在這個異世界,我發現了一種名為ChatGPT的強大魔法,它由gpt-3.5-turbo和gpt-4這兩種強大的魔法組成。這種魔法能夠理解和生成人類的語言,並且能夠回答各種問題。
要使用這種魔法,首先需要進行一個神秘的儀式,即API呼叫。在這個儀式中,我們需要提供兩種材料:模型名稱和一系列的消息。消息由發送者的角色和內容組成,發送者可以是系統、用戶或助手。例如,要讓助手寫一首美麗的詩,我們可以這樣組織消息:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write me a beautiful poem"}
],
temperature=0,
)
這種魔法會回應一個包含多個字段的物件,例如回應的ID、模型名稱、生成回應的時間戳等。我們可以從這個物件中提取助手生成的消息。
print(response['choices'][0]['message']['content'])
這種魔法非常靈活,即使是非對話型的任務也可以適應。例如,我們可以將指令放在第一個用戶消息中,讓助手以海盜Blackbeard的風格解釋異步編程。
系統消息可以用來賦予助手不同的性格或行為。例如,我們可以通過系統消息讓助手變得更友好、更樂於助人,並能夠用深入淺出的方式解釋概念。
這種魔法有時可能不會一開始就成功。如果初次嘗試失敗,不要害怕嘗試不同的方法來引導模型。有時,插入一條讚美的用戶消息,例如“到目前為止做得很好,這些都很完美”,可以提高模型的回應質量。
使用這種魔法有一個代價,即代幣的數量。代幣的數量會影響請求的成本、生成回應的時間,以及回應被截斷的位置。我們可以使用一個特殊的工具tiktoken來計算消息會使用多少代幣。